Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xwax: init at version 1.9 #377421

Merged
merged 2 commits into from
Feb 1, 2025
Merged

xwax: init at version 1.9 #377421

merged 2 commits into from
Feb 1, 2025

Conversation

obsoleszenz
Copy link
Contributor

DISCLAIMER: This is the first time i'm contributing to nixpkgs

Adds xwax v1.9 (latest)

xwax is an open-source Digital Vinyl System (DVS) for Linux. It allows DJs and turntablists to playback digital audio files (MP3, Ogg Vorbis, FLAC, AAC and more), controlled using a normal pair of turntables via timecoded vinyls.

It's designed for both beat mixing and scratch mixing. Needle drops, pitch changes, scratching, spinbacks and rewinds are all supported, and feel just like the audio is pressed onto the vinyl itself.

The focus is on an accurate vinyl feel which is efficient, stable and fast.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@NixOSInfra NixOSInfra added the 12. first-time contribution This PR is the author's first one; please be gentle! label Jan 27, 2025
@github-actions github-actions bot added the 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` label Jan 29, 2025
@ethancedwards8
Copy link
Member

You'll want to squash these commits and change the commit styles for match our styleguide.

@obsoleszenz obsoleszenz force-pushed the xwax branch 2 times, most recently from aa6673e to 9c19b4f Compare January 29, 2025 14:15
@obsoleszenz
Copy link
Contributor Author

You'll want to squash these commits and change the commit styles for match our styleguide.

Did so :)

@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1 10.rebuild-linux: 1-10 labels Jan 29, 2025
@ethancedwards8
Copy link
Member

I hate to be nitpicky but the maintainer addition needs to be in a separate commit ;)

@obsoleszenz
Copy link
Contributor Author

I hate to be nitpicky but the maintainer addition needs to be in a separate commit ;)

No worries, split it into two commits. Does the ordering of the commits matter?

Copy link
Member

@ethancedwards8 ethancedwards8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope! You're good to go. LGTM!

pkgs/by-name/xw/xwax/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/xw/xwax/package.nix Show resolved Hide resolved
@obsoleszenz obsoleszenz force-pushed the xwax branch 2 times, most recently from 843d1bc to f9833be Compare January 30, 2025 17:00
@obsoleszenz
Copy link
Contributor Author

obsoleszenz commented Jan 30, 2025

Just figured out a problem, the paths for loadings fonts are hardcoded in xwax, more exactly in
interface.c

static const char *font_dirs[] = {
    "/usr/X11R6/lib/X11/fonts/TTF",
    "/usr/share/fonts/truetype/ttf-dejavu/",
    "/usr/share/fonts/ttf-dejavu",
    "/usr/share/fonts/dejavu",
    "/usr/share/fonts/TTF",
    "/usr/share/fonts/truetype/dejavu",
    "/usr/share/fonts/truetype/ttf-dejavu",
    NULL
};

It seems to not support fontconfig or any env variable with which we could overwrite it. I will try to patch interface.c.

EDIT: Done

@obsoleszenz obsoleszenz changed the title xwax: init at version 1.9 WIP: xwax: init at version 1.9 Jan 30, 2025
@obsoleszenz obsoleszenz changed the title WIP: xwax: init at version 1.9 xwax: init at version 1.9 Jan 30, 2025
@obsoleszenz obsoleszenz force-pushed the xwax branch 2 times, most recently from cd601a5 to adb116b Compare January 31, 2025 11:49
Copy link
Member

@FliegendeWurst FliegendeWurst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Please rebase so the maintainer list modification comes first with message maintainers: add obsoleszenz.

@obsoleszenz
Copy link
Contributor Author

@Defelo @FliegendeWurst @ethancedwards8 i think this should be ready now.
Thanks for all your help :)

@FliegendeWurst FliegendeWurst merged commit a6c18fb into NixOS:master Feb 1, 2025
26 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 10.rebuild-linux: 1 12. first-time contribution This PR is the author's first one; please be gentle!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants